package com.ruoyi.baseMain.domain.bo;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.core.validate.AddGroup;
import com.ruoyi.common.core.validate.EditGroup;
import lombok.Data;
import lombok.EqualsAndHashCode;
import javax.validation.constraints.*;

import java.util.Date;

import java.math.BigDecimal;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 客户政策业务对象 base_policy
 *
 * @author linziheng
 * @date 2024-01-08
 */

@Data
@EqualsAndHashCode(callSuper = true)
public class BasePolicyBo extends BaseEntity {

    /**
     * 主键
     */
    @NotNull(message = "主键不能为空", groups = { EditGroup.class })
    private Long id;

    /**
     * 客户简称
     */
    @NotBlank(message = "客户简称不能为空", groups = { AddGroup.class, EditGroup.class })
    private String nickName;
    private String mainParty;
    /**
     * 合作媒体
     */
    @NotBlank(message = "合作媒体不能为空", groups = { AddGroup.class, EditGroup.class })
    private String signatory;

    /**
     * 政策类别
     */
    private String policyType;

    /**
     * 备注
     */
    private String remark;
    private String status;

    /**
     * 帐显返点
     */
    @NotNull(message = "帐显返点不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal accountPoint;

    /**
     * 私返返点
     */
    @NotNull(message = "私返返点不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal privatePoint;

    /**
     * 总返点
     */
    @NotNull(message = "总返点不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal totalPoint;

    /**
     * 媒介人员ID
     */
    private String operateUser;

    /**
     * 媒介人员
     */
    private String operateUserName;
    private String customId;

    private String instanceCode;
//    政策标签
    private String policyTag;

    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date takeTime;
    private String businessUnitName;
    private String aparty;
    private String bparty;
    private String channel;
    private String payType;
    private String cooperateType;
}
